package com.dylon.system.mapper;

import com.dylon.system.domain.SysProject;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 项目表 数据层
 */
@Mapper
public interface SysProjectMapper {

    /**
     * 查询项目数据
     * @param project 项目信息
     * @return 项目信息集合
     */
    public List<SysProject> selectProjectList(SysProject project);

    /**
     * 通过项目ID查询项目
     * @param projectId 项目ID
     * @return 项目对象信息
     */
    public SysProject selectProjectById(Long projectId);

    /**
     * 校验项目名称是否唯一
     * @param projectName 项目名称
     * @return 项目信息
     */
    public SysProject checkProjectNameUnique(String projectName);

    /**
     * 通过项目ID删除角色
     * @param projectId 项目ID
     * @return 结果
     */
    public int deleteProjectById(Long projectId);

    /**
     * 批量删除项目信息
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteProjectByIds(Long[] ids);

    /**
     * 修改项目信息
     * @param project 项目信息
     * @return 结果
     */
    public int updateProject(SysProject project);

    /**
     * 新增项目信息
     * @param project 项目信息
     * @return 结果
     */
    public int insertProject(SysProject project);

    /**
     * 查询项目使用数量
     * @param projectId 角色ID
     * @return 结果
     */
    public int countProjectUsedById(Long projectId);

}
